This invention relates generally to browsing web sites, and more particularly to two or more users cobrowsing web sites concurrently in a synchronized manner.
Browsing the Internet's worldwide web (WWW, or the “web”) has become a popular and common activity. Information on the web is typically stored in data files referred to as web pages, which may be formatted according to a markup language, such as the HyperText Markup Language (HTML), and the extensible Markup Language (XML). The web pages are usually organized into web sites. A computer program or software component, referred to as a web browser, allows the user to navigate different web sites, and view different web pages on those web sites. This activity is referred to generally as web browsing.
Web browsing has traditionally been a single user experience. A user starts the web browser on his or her computer, or other computing device, and enters in a web site to begin browsing. The general usefulness of web browsing, however, has led some to introduce cobrowsing. In cobrowsing, as one user browses the web with his or her web browser, other users see the same web pages on their web browsers. That is, the latter users' web browsers are synchronized with the former user's web browser. Cobrowsing is useful in many different situations. For example, in electronic commerce, a customer service representative can cobrowse a merchant's web site with a customer. The representative may lead the cobrowsing session, showing the customer where certain products are described on the web site. Alternatively, the customer may lead the cobrowsing session, going to various pages on the web site, and asking the representative questions about the products displayed on those pages.
Another cobrowsing application is distance learning. In distance learning, a professor may lead a cobrowsing session, such that the students' web browsers are synchronized with the professor's web browser. When the professor posits a question to the students, he or she may then select a student to answer the question, such that the selected student may receive temporary control over the cobrowsing session. Cobrowsing is also useful for recreational purposes, where friends may wish to browse the web together. Technical support is another application for cobrowsing. A technical support adviser can show a user with a computing problem, for example, where to find help on the web.
Current cobrowsing approaches, however, are limited. One common approach is based on the T.120 conferencing standard. In this conferencing approach to cobrowsing, the part of the web page that the user who is leading the cobrowsing session is viewing is saved as a graphics file, such as a bit map file. This graphics file is then sent to the other users, and displayed. As the lead user navigates different parts of the same web page, as well as different web pages, graphics files are continually saved and sent to the other users. This approach is problematic because a large amount of data must be continually sent. Because most users still do not have high bandwidth Internet connections, the resulting cobrowsing session is often very slow. Furthermore, the conferencing approach usually requires that each user participating in the cobrowsing session have the same conferencing application, running on the same operating system.
Another cobrowsing approach is referred to as the hyperlinks approach. In this approach, as the lead user of the cobrowsing session navigates different web pages, the addresses of those web pages, also known as hyperlinks, are sent to the other users. The web browser of each user downloads the web page independently of the other users. This approach overcomes the bandwidth problem of the conferencing approach, since only web page addresses are transferred between the lead user and the other users. However, the hyperlinks approach is disadvantageous in that it is not very granular. Many web pages are very large, and contain a significant amount of information. Usually, a user is interested only in a part of a web page, such that he or she may have to scroll within the web page so that the desired part, containing the desired information, is viewable. Since only the address of the web page is sent to the other users, however, the lead user has no way to indicate which part of the web page is of interest. The granularity of the hyperlinks approach, in other words, is on a web page basis, and does not allow synchronization on a more granular, partial web page basis.
For these and other reasons, there is a need for the present invention.